{ "openapi": "3.0.0", "info": { "title": "Profile System - PII data architecture", "description": ">⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\nThe **Profile System** is VTEX's single source of truth regarding shoppers' profile data for stores using the [PII data architecture](https://developers.vtex.com/docs/guides/pii-data-architecture-specifications) from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus). Other modules, such as **Checkout** and **Order Management**, can request data from the **Profile System** when necessary. Learn more at the [Profile System](https://developers.vtex.com/docs/guides/profile-system) guide.\r\n\r\n>⚠️ Data stored in the Profile System is not related to documents saved in [Master Data v1](https://developers.vtex.com/docs/api-reference/masterdata-api) or [Master Data v2](https://developers.vtex.com/docs/api-reference/master-data-api-v2). The API endpoints and features described in this article only apply to documents registered in the new Profile System designed to handle PII data architecture.\r\n\r\n## Index\r\n\r\n### Profiles\r\n\r\n- `POST` [Create client profile](https://developers.vtex.com/docs/api-reference/profile-system#post-/api/storage/profile-system/profiles)\r\n- `GET` [Get profile](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-)\r\n- `PATCH` [Update client profile](https://developers.vtex.com/docs/api-reference/profile-system#patch-/api/storage/profile-system/profiles/-profileId-)\r\n- `DELETE` [Delete client profile](https://developers.vtex.com/docs/api-reference/profile-system#delete-/api/storage/profile-system/profiles/-profileId-)\r\n- `GET` [Get unmasked profile](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-/unmask)\r\n- `GET` [Get profile by version](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-/versions/-profileVersionId-)\r\n- `GET` [Get unmasked profile by version](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-/versions/-profileVersionId-/unmask)\r\n\r\n### Addresses\r\n\r\n- `POST` [Create client address](https://developers.vtex.com/docs/api-reference/profile-system#post-/api/storage/profile-system/profiles/-profileId-/addresses)\r\n- `GET` [Get client addresses](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-/addresses)\r\n- `GET` [Get unmasked client addresses](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-/addresses/unmask)\r\n- `GET` [Get address](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-/addresses/-addressId-)\r\n- `PATCH` [Update client address](https://developers.vtex.com/docs/api-reference/profile-system#patch-/api/storage/profile-system/profiles/-profileId-/addresses/-addressId-)\r\n- `DELETE` [Delete address](https://developers.vtex.com/docs/api-reference/profile-system#delete-/api/storage/profile-system/profiles/-profileId-/addresses/-addressId-)\r\n- `GET` [Get unmasked address](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-/addresses/-addressId-/unmask)\r\n- `GET` [Get address by version](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-/addresses/-addressId-/versions/-addressVersionId-)\r\n- `GET` [Get unmasked address by version](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-/addresses/-addressId-/versions/-addressVersionId-/unmask)\r\n\r\n### Prospects\r\n\r\n- `POST` [Create prospect](https://developers.vtex.com/docs/api-reference/profile-system#post-/api/storage/profile-system/prospects)\r\n- `GET` [Get prospect](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/prospects/-prospectId-)\r\n- `PATCH` [Update prospect](https://developers.vtex.com/docs/api-reference/profile-system#patch-/api/storage/profile-system/prospects/-prospectId-)\r\n- `DELETE` [Delete prospect](https://developers.vtex.com/docs/api-reference/profile-system#delete-/api/storage/profile-system/prospects/-prospectId-)\r\n- `GET` [Get unmasked prospect](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/prospects/-prospectId-/unmask)\r\n\r\n### Purchase information\r\n\r\n- `POST` [Create purchase information](https://developers.vtex.com/docs/api-reference/profile-system#post-/api/storage/profile-system/profiles/-profileId-/purchase-info)\r\n- `GET` [Get purchase information](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-/purchase-info)\r\n- `PATCH` [Update purchase information](https://developers.vtex.com/docs/api-reference/profile-system#patch-/api/storage/profile-system/profiles/-profileId-/purchase-info)\r\n- `DELETE` [Delete purchase information](https://developers.vtex.com/docs/api-reference/profile-system#delete-/api/storage/profile-system/profiles/-profileId-/purchase-info)\r\n- `GET` [Get unmasked profile information](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/profiles/-profileId-/purchase-info/unmask)", "contact": {}, "version": "1.0" }, "servers": [ { "url": "https://{accountName}.{environment}.com.br", "description": "VTEX server URL.", "variables": { "accountName": { "description": "Name of the VTEX account. Used as part of the URL.", "default": "apiexamples" }, "environment": { "description": "Environment to use. Used as part of the URL.", "enum": [ "vtexcommercestable" ], "default": "vtexcommercestable" } } } ], "paths": { "/api/storage/profile-system/profiles": { "post": { "tags": [ "Profiles" ], "summary": "Create client profile", "description": "Creates new client profile.\n\r\n\rYou can send custom fields in the request body and they will be saved as part of your document. Therefore, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.\n\r\n\rThe `id` field returned by this request is the `profileId` used to retrieve information on a specific profile later.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "CreateClientProfile", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/ttl" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Profile" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/ProfileId" }, "meta": { "$ref": "#/components/schemas/ProfileMeta" }, "document": { "$ref": "#/components/schemas/Profile" } } }, "example": { "id": "c2cbebba-214e-40b2-b68f-98f862e755d5", "meta": { "version": "27112371-a71b-45d6-b3bc-93436a3a0b4f", "author": "82a2b53d-39be-4f49-bb7c-8971b58cb7dc", "creationDate": "2022-01-05T15:41:37.5009471+00:00", "lastUpdate": "2022-01-05T15:41:37.5009471+00:00" }, "document": { "firstName": "John", "lastName": "Doe", "email": "john.doe@example.com", "birthDate": "1925-11-17", "document": "12345678911", "documentType": "CPF", "{customField}": "{value}" } } } } } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}": { "get": { "tags": [ "Profiles" ], "summary": "Get profile", "description": "Retrieves the information of a specific client, by its `profileId`.\n\r\n\r> Since your store's profile schema is customizable, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.\n\r\n\r> For security and privacy reasons, this request returns masked profile data. For unmasked information, see [Get unmasked profile](https:\/\/developers.vtex.com\/docs\/api-reference\/profile-system#get-\/api\/storage\/profile-system\/profiles\/-profileId-\/unmask).\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetProfile", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/alternativeKey" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MaskedProfileResponse" }, "example": [ { "id": "70caf394-8534-447e-a0ca-1803c669c771", "meta": { "version": "abc", "author": "e40e0b6d-0605-4fa6-8176-1d69fbaf0818", "creationDate": "13/12/2021T00:00:00Z", "lastUpdate": "13/12/2021T00:00:00Z" }, "document": { "firstName": "J***", "lastName": "D**", "email": "j***.d**@e******.c**", "birthDate": "1925-11-17", "document": "1**********", "documentType": "CPF", "{customField}": "{value}" } } ] } } } }, "deprecated": false }, "patch": { "tags": [ "Profiles" ], "summary": "Update client profile", "description": "Updates one or more fields of an existing client profile.\n\r\n\r> Since your store's profile schema is customizable, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "UpdateClientProfile", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/alternativeKey" }, { "$ref": "#/components/parameters/ttl" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Profile" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnmaskedProfileResponse" }, "example": { "id": "70caf394-8534-447e-a0ca-1803c669c771", "document": { "firstName": "John", "lastName": "Doe", "email": "john.doe@example.com", "birthDate": "1925-11-17", "document": "12345678911", "documentType": "CPF" }, "meta": { "version": "abc", "author": "e40e0b6d-0605-4fa6-8176-1d69fbaf0818", "creationDate": "2022-01-05T15:41:37.5009471+00:00", "lastUpdate": "2022-01-17T15:41:37.5009471+00:00" } } } } } }, "deprecated": false }, "delete": { "tags": [ "Profiles" ], "summary": "Delete client profile", "description": "Deletes a client profile by `profileId`.\n\r\n\r>❗ This endpoint is not suitable for granting a shopper's [right to erasure](https://help.vtex.com/en/tutorial/data-subject-rights--6imchxTx09icupKMbzHVIM#erasure). For that purpose, open a [support](https://help.vtex.com/en/support) ticket, according to the instructions in the section [Request erasure via support](https://help.vtex.com/en/tutorial/erasing-customer-data--1R9Fn7A06Ifj4R9YD4JTKU#request-erasure-via-support) of the shopper data erasure guide.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "DeleteClientProfile", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" } ], "responses": { "204": { "description": "No content" } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}/unmask": { "get": { "tags": [ "Profiles" ], "summary": "Get unmasked profile", "description": "Retrieves unmasked information of a specific client, by its `profileId`.\n\r\n\r> Since your store's profile schema is customizable, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetUnmaskedProfile", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/reason" }, { "$ref": "#/components/parameters/alternativeKey" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "description": "Array with unmasked profile information.", "items": { "$ref": "#/components/schemas/UnmaskedProfileResponse" } }, "example": [ { "id": "70caf394-8534-447e-a0ca-1803c669c771", "document": { "firstName": "John", "lastName": "Doe", "email": "john.doe@example.com", "birthDate": "1925-11-17", "document": "12345678911", "documentType": "CPF" }, "meta": { "version": "abc", "author": "e40e0b6d-0605-4fa6-8176-1d69fbaf0818", "creationDate": "2022-01-05T15:41:37.5009471+00:00", "lastUpdate": "2022-01-17T15:41:37.5009471+00:00" } } ] } } } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}/versions/{profileVersionId}": { "get": { "tags": [ "Profiles" ], "summary": "Get profile by version", "description": "Retrieves the information of a specific version of a client profile.\n\r\n\r> Since your store's profile schema is customizable, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.\n\r\n\r> For security and privacy reasons, this request returns masked profile data. For unmasked information, see [Get unmasked profile by version](https:\/\/developers.vtex.com\/docs\/api-reference\/profile-system#get-\/api\/storage\/profile-system\/profiles\/-profileId-\/versions\/-profileVersionId-\/unmask).\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetProfileByVersion", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/profileVersionId" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MaskedProfileResponseByVersion" }, "example": [ { "id": "70caf394-8534-447e-a0ca-1803c669c771", "document": { "firstName": "J***", "lastName": "G****", "email": "j***********", "birthDate": "1925-11-17", "document": "1********", "documentType": "CPF", "{customField}": "{value}" }, "meta": { "version": "bb996089-b77c-4bf3-be35-b99b6d91f91c", "author": "e40e0b6d-0605-4fa6-8176-1d69fbaf0818", "creationDate": "2022-01-05T15:41:37.5009471+00:00", "lastUpdate": "2022-01-15T15:41:37.5009471+00:00" } } ] } } } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}/versions/{profileVersionId}/unmask": { "get": { "tags": [ "Profiles" ], "summary": "Get unmasked profile by version", "description": "Retrieves unmasked information of a specific version of a client profile.\n\r\n\r> Since your store's profile schema is customizable, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetUnmaskedProfileByVersion", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/profileVersionId" }, { "$ref": "#/components/parameters/reason" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "description": "Array with unmasked profile information.", "items": { "$ref": "#/components/schemas/UnmaskedProfileResponse" } }, "example": [ { "id": "70caf394-8534-447e-a0ca-1803c669c771", "document": { "firstName": "John", "lastName": "Doe", "email": "john.doe@example.com", "birthDate": "1925-11-17", "document": "12345678911", "documentType": "CPF", "{customField}": "{value}" }, "meta": { "version": "abc", "author": "e40e0b6d-0605-4fa6-8176-1d69fbaf0818", "creationDate": "2022-01-05T15:41:37.5009471+00:00", "lastUpdate": "2022-01-17T15:41:37.5009471+00:00" } } ] } } } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}/addresses": { "post": { "tags": [ "Addresses" ], "summary": "Create client address", "description": "Creates new address for a given client profile.\n\r\n\r> The `id` field returned by this request is the `addressId` used to retrieve or update information of a specific address later.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "CreateClientAddress", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/alternativeKey" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAddress" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnmaskedAddressResponse" }, "example": { "id": "bf82180e-cf9e-4089-9af6-ae1518555992", "document": { "postalCode": "20200-000", "countryName": "Brasil", "countryCode": "BR", "administrativeAreaLevel1": "RJ", "locality": "Locality", "localityAreaLevel1": "locality area", "route": "51", "streetNumber": "999", "profileId": "70caf394-8534-447e-a0ca-1803c669c771" }, "meta": { "version": "c9c44895-4589-4d0d-a28d-e0e656ca1926", "author": "80aa79a3-aa89-4912-a20e-8ef69af19a6c", "creationDate": "2022-01-18T18:51:34.1293829+00:00", "lastUpdateDate": "2022-01-18T18:51:34.1293829+00:00" } } } } } }, "deprecated": false }, "get": { "tags": [ "Addresses" ], "summary": "Get client addresses", "description": "Retrieves information of all addresses of a given client, by its `profileId`.\n\r\n\r> For security and privacy reasons, this request returns masked address data. For unmasked information, see [Get unmasked client addresses](https:\/\/developers.vtex.com\/docs\/api-reference\/profile-system#get-\/api\/storage\/profile-system\/profiles\/-profileId-\/addresses\/unmask).\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetClientAddresses", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/alternativeKey" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MaskedAddressResponse" } }, "example": [ { "id": "bf82180e-cf9e-4089-9af6-ae1518555992", "document": { "postalCode": "2****-0**", "countryName": "B*****", "countryCode": "BR", "administrativeAreaLevel1": "RJ", "locality": "L*******", "localityAreaLevel1": "locality area", "route": "51", "streetNumber": "999", "profileId": "70caf394-8534-447e-a0ca-1803c669c771" }, "meta": { "version": "c9c44895-4589-4d0d-a28d-e0e656ca1926", "author": "80aa79a3-aa89-4912-a20e-8ef69af19a6c", "creationDate": "2022-01-18T18:51:34.1293829+00:00", "lastUpdateDate": "2022-01-18T18:51:34.1293829+00:00" } } ] } } } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}/addresses/unmask": { "get": { "tags": [ "Addresses" ], "summary": "Get unmasked client addresses", "description": "Retrieves unmasked information of all addresses of a given client, by its `profileId`.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetUnmaskedClientAddresses", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/alternativeKey" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UnmaskedAddressResponse" } }, "example": [ { "id": "bf82180e-cf9e-4089-9af6-ae1518555992", "document": { "postalCode": "20200-000", "countryName": "Brasil", "countryCode": "BR", "administrativeAreaLevel1": "RJ", "locality": "Locality", "localityAreaLevel1": "locality area", "route": "51", "streetNumber": "999", "profileId": "70caf394-8534-447e-a0ca-1803c669c771" }, "meta": { "version": "c9c44895-4589-4d0d-a28d-e0e656ca1926", "author": "80aa79a3-aa89-4912-a20e-8ef69af19a6c", "creationDate": "2022-01-18T18:51:34.1293829+00:00", "lastUpdateDate": "2022-01-18T18:51:34.1293829+00:00" } } ] } } } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}/addresses/{addressId}": { "get": { "tags": [ "Addresses" ], "summary": "Get address", "description": "Retrieves information of a specific address of a given client, by its respectives `adderssId` and `profileId`.\n\r\n\r> For security and privacy reasons, this request returns masked address data. For unmasked information, see [Get unmasked address](https:\/\/developers.vtex.com\/docs\/api-reference\/profile-system#get-\/api\/storage\/profile-system\/profiles\/-profileId-\/addresses\/-addressId-\/unmask).\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetAddress", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/addressId" }, { "$ref": "#/components/parameters/alternativeKey" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MaskedAddressResponse" }, "example": { "id": "bf82180e-cf9e-4089-9af6-ae1518555992", "document": { "postalCode": "2****-0**", "countryName": "B*****", "countryCode": "BR", "administrativeAreaLevel1": "RJ", "locality": "L*******", "localityAreaLevel1": "locality area", "route": "51", "streetNumber": "999", "profileId": "70caf394-8534-447e-a0ca-1803c669c771" }, "meta": { "version": "c9c44895-4589-4d0d-a28d-e0e656ca1926", "author": "80aa79a3-aa89-4912-a20e-8ef69af19a6c", "creationDate": "2022-01-18T18:51:34.1293829+00:00", "lastUpdateDate": "2022-01-18T18:51:34.1293829+00:00" } } } } } }, "deprecated": false }, "patch": { "tags": [ "Addresses" ], "summary": "Update client address", "description": "Updates one or more fields of an existing address for a given client profile.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "UpdateClientAddress", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/addressId" }, { "$ref": "#/components/parameters/alternativeKey" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAddress" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnmaskedAddressResponse" }, "example": { "id": "bf82180e-cf9e-4089-9af6-ae1518555992", "document": { "postalCode": "20200-000", "countryName": "Brasil", "countryCode": "BR", "administrativeAreaLevel1": "RJ", "locality": "Locality", "localityAreaLevel1": "locality area", "route": "34", "streetNumber": "333", "profileId": "70caf394-8534-447e-a0ca-1803c669c771" }, "meta": { "version": "86dfae79-1d23-43f2-a643-2fc8f1839461", "author": "80aa79a3-aa89-4912-a20e-8ef69af19a6c", "creationDate": "2022-01-18T18:51:34.1293829+00:00", "lastUpdateDate": "2022-01-18T21:08:02.9364099+00:00" } } } } } }, "deprecated": false }, "delete": { "tags": [ "Addresses" ], "summary": "Delete address", "description": "Deletes a client's address by `profileId` and `addressId`.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "DeleteAddress", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/addressId" }, { "$ref": "#/components/parameters/alternativeKey" } ], "responses": { "204": { "description": "No content" } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}/addresses/{addressId}/unmask": { "get": { "tags": [ "Addresses" ], "summary": "Get unmasked address", "description": "Retrieves unmasked information of a specific address of a given client, by its respectives `adderssId` and `profileId`.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetUnmaskedAddress", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/addressId" }, { "$ref": "#/components/parameters/reason" }, { "$ref": "#/components/parameters/alternativeKey" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnmaskedAddressResponse" }, "example": { "id": "bf82180e-cf9e-4089-9af6-ae1518555992", "document": { "postalCode": "20200-000", "countryName": "Brasil", "countryCode": "BR", "administrativeAreaLevel1": "RJ", "locality": "Locality", "localityAreaLevel1": "locality area", "route": "51", "streetNumber": "999", "profileId": "70caf394-8534-447e-a0ca-1803c669c771" }, "meta": { "version": "c9c44895-4589-4d0d-a28d-e0e656ca1926", "author": "80aa79a3-aa89-4912-a20e-8ef69af19a6c", "creationDate": "2022-01-18T18:51:34.1293829+00:00", "lastUpdateDate": "2022-01-18T18:51:34.1293829+00:00" } } } } } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}/addresses/{addressId}/versions/{addressVersionId}": { "get": { "tags": [ "Addresses" ], "summary": "Get address by version", "description": "Retrieves information of a specific version address of a given client.\n\r\n\r> For security and privacy reasons, this request returns masked address data by version. For unmasked information, see [Get unmasked address by version](https:\/\/developers.vtex.com\/docs\/api-reference\/profile-system#get-\/api\/storage\/profile-system\/profiles\/-profileId-\/addresses\/-addressId-\/versions\/-addressVersionId-\/unmask).\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetAddressByVersion", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/addressId" }, { "$ref": "#/components/parameters/addressVersionId" }, { "$ref": "#/components/parameters/reason" }, { "$ref": "#/components/parameters/alternativeKey" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MaskedAddressResponse" }, "example": { "id": "bf82180e-cf9e-4089-9af6-ae1518555992", "document": { "postalCode": "2****-0**", "countryName": "B*****", "countryCode": "BR", "administrativeAreaLevel1": "RJ", "locality": "L*******", "localityAreaLevel1": "locality area", "route": "51", "streetNumber": "999", "profileId": "70caf394-8534-447e-a0ca-1803c669c771" }, "meta": { "version": "c9c44895-4589-4d0d-a28d-e0e656ca1926", "author": "80aa79a3-aa89-4912-a20e-8ef69af19a6c", "creationDate": "2022-01-18T18:51:34.1293829+00:00", "lastUpdateDate": "2022-01-18T18:51:34.1293829+00:00" } } } } } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}/addresses/{addressId}/versions/{addressVersionId}/unmask": { "get": { "tags": [ "Addresses" ], "summary": "Get unmasked address by version", "description": "Retrieves unmasked information of a specific address version of a given client.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetUnmaskedAddressByVersion", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/addressId" }, { "$ref": "#/components/parameters/addressVersionId" }, { "$ref": "#/components/parameters/reason" }, { "$ref": "#/components/parameters/alternativeKey" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnmaskedAddressResponse" }, "example": { "id": "bf82180e-cf9e-4089-9af6-ae1518555992", "document": { "postalCode": "20200-000", "countryName": "Brasil", "countryCode": "BR", "administrativeAreaLevel1": "RJ", "locality": "Locality", "localityAreaLevel1": "locality area", "route": "51", "streetNumber": "999", "profileId": "70caf394-8534-447e-a0ca-1803c669c771" }, "meta": { "version": "c9c44895-4589-4d0d-a28d-e0e656ca1926", "author": "80aa79a3-aa89-4912-a20e-8ef69af19a6c", "creationDate": "2022-01-18T18:51:34.1293829+00:00", "lastUpdateDate": "2022-01-18T18:51:34.1293829+00:00" } } } } } }, "deprecated": false } }, "/api/storage/profile-system/prospects": { "post": { "tags": [ "Prospects" ], "summary": "Create prospect", "description": "Creates new prospect.\n\r\n\r> The `id` field returned by this request is the `prospectId` used to retrieve information on a specific prospect later.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "CreateProspect", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Prospect" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnmaskedProspectResponse" }, "example": { "id": "98478f6b-d025-4f35-a560-dd1ee7a6f26e", "document": { "availableAddresses": [ { "disposable": true, "userId": "98478f6b-d025-4f35-a560-dd1ee7a6f26e", "addressName": "customerAddressId", "addressType": "residential", "postalCode": "32137", "city": "Palm Coast", "country": "USA", "street": "Fifth St.", "number": "9538", "complement": "", "receiverName": "Jane Doe", "geoCoordinate": [] } ], "paymentData": { "availableAccounts": [], "availableTokens": [], "transactions": null, "giftCards": [], "giftCardMessages": [], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "contacts": [ { "contactId": "0", "email": "", "firstName": "Jane", "lastName": "Doe", "phone": "", "document": "", "documentType": "" } ], "invoiceSubject": { "invoiceSubjectId": "0", "email": "jane@mail.com", "firstName": "Jane", "lastName": "Doe", "phone": "12345678910" }, "email": "jane@mail.com", "firstName": "Jane", "lastName": "Doe", "document": "5397eefef23741d4976ebdf772cc42e0", "cellPhone": "12345678910", "isPJ": false, "customerCode": "5397eefe-f237-41d4-976e-bdf772cc42e0" }, "meta": { "version": "af9117e9-4169-46ee-ab4b-d4b17b881488", "author": "d6d8269f-e7cc-4e4b-8b89-3b46a1407937", "creationDate": "2023-10-25T13:59:52.7633627+00:00", "lastUpdateDate": "2023-10-25T14:02:45.7277154+00:00", "expirationDate": null } } } } } }, "deprecated": false }, "get": { "tags": [ "Prospects" ], "summary": "Get prospects", "description": "Retrieves information of all prospects.\n\r\n\r> For security and privacy reasons, this request returns masked prospect data. For unmasked information, see [Get unmasked prospects](https://developers.vtex.com/docs/api-reference/profile-system#get-/api/storage/profile-system/prospects/unmask).\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetProspects", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "description": "List of masked prospects.", "items": { "$ref": "#/components/schemas/MaskedProspectResponse" } }, "example": [ { "id": "98478f6b-d025-4f35-a560-dd1ee7a6f26e", "document": { "availableAddresses": [ { "disposable": true, "userId": "98478f6b-d025-4f35-a560-dd1ee7a6f26e", "addressName": "customerAddressId", "addressType": "residential", "postalCode": "3*****", "city": "P*****", "country": "USA", "street": "F*****", "number": "9****", "complement": "", "receiverName": "J*** D**", "geoCoordinate": [] } ], "paymentData": { "availableAccounts": [], "availableTokens": [], "transactions": null, "giftCards": [], "giftCardMessages": [], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "contacts": [ { "contactId": "0", "email": "", "firstName": "J***", "lastName": "D**", "phone": "", "document": "", "documentType": "" } ], "invoiceSubject": { "invoiceSubjectId": "0", "email": "j***@m***.c**", "firstName": "J***", "lastName": "D**", "phone": "1**********" }, "email": "j***@m***.c**", "firstName": "J***", "lastName": "D**", "document": "1**********", "cellPhone": "1**********", "isPJ": false, "customerCode": "5397eefe-f237-41d4-976e-bdf772cc42e0" }, "meta": { "version": "af9117e9-4169-46ee-ab4b-d4b17b881488", "author": "d6d8269f-e7cc-4e4b-8b89-3b46a1407937", "creationDate": "2023-10-25T13:59:52.7633627+00:00", "lastUpdateDate": "2023-10-25T14:02:45.7277154+00:00", "expirationDate": null } } ] } } } }, "deprecated": false } }, "/api/storage/profile-system/prospects/unmask": { "get": { "tags": [ "Prospects" ], "summary": "Get unmasked prospects", "description": "Retrieves unmasked information of all prospects.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetUnmaskedProspects", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "description": "List of prospects.", "items": { "$ref": "#/components/schemas/UnmaskedProspectResponse" } }, "example": [ { "id": "98478f6b-d025-4f35-a560-dd1ee7a6f26e", "document": { "availableAddresses": [ { "disposable": true, "userId": "98478f6b-d025-4f35-a560-dd1ee7a6f26e", "addressName": "customerAddressId", "addressType": "residential", "postalCode": "32137", "city": "Palm Coast", "country": "USA", "street": "Fifth St.", "number": "9538", "complement": "", "receiverName": "Jane Doe", "geoCoordinate": [] } ], "paymentData": { "availableAccounts": [], "availableTokens": [], "transactions": null, "giftCards": [], "giftCardMessages": [], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "contacts": [ { "contactId": "0", "email": "", "firstName": "Jane", "lastName": "Doe", "phone": "", "document": "", "documentType": "" } ], "invoiceSubject": { "invoiceSubjectId": "0", "email": "jane@mail.com", "firstName": "Jane", "lastName": "Doe", "phone": "12345678910" }, "email": "jane@mail.com", "firstName": "Jane", "lastName": "Doe", "document": "5397eefef23741d4976ebdf772cc42e0", "cellPhone": "12345678910", "isPJ": false, "customerCode": "5397eefe-f237-41d4-976e-bdf772cc42e0" }, "meta": { "version": "af9117e9-4169-46ee-ab4b-d4b17b881488", "author": "d6d8269f-e7cc-4e4b-8b89-3b46a1407937", "creationDate": "2023-10-25T13:59:52.7633627+00:00", "lastUpdateDate": "2023-10-25T14:02:45.7277154+00:00", "expirationDate": null } } ] } } } }, "deprecated": false } }, "/api/storage/profile-system/prospects/{prospectId}": { "get": { "tags": [ "Prospects" ], "summary": "Get prospect", "description": "Retrieves the information of a specific prospect, by its `prospectId`.\n\r\n\r> For security and privacy reasons, this request returns masked prospect data. For unmasked information, see [Get unmasked prospect](https:\/\/developers.vtex.com\/docs\/api-reference\/profile-system#get-\/api\/storage\/profile-system\/prospects\/-prospectId-\/unmask).\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetProspect", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/prospectId" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MaskedProspectResponse" }, "example": { "id": "98478f6b-d025-4f35-a560-dd1ee7a6f26e", "document": { "availableAddresses": [ { "disposable": true, "userId": "98478f6b-d025-4f35-a560-dd1ee7a6f26e", "addressName": "customerAddressId", "addressType": "residential", "postalCode": "3*****", "city": "P*****", "country": "USA", "street": "F*****", "number": "9****", "complement": "", "receiverName": "J*** D**", "geoCoordinate": [] } ], "paymentData": { "availableAccounts": [], "availableTokens": [], "transactions": null, "giftCards": [], "giftCardMessages": [], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "contacts": [ { "contactId": "0", "email": "", "firstName": "J***", "lastName": "D**", "phone": "", "document": "", "documentType": "" } ], "invoiceSubject": { "invoiceSubjectId": "0", "email": "j***@m***.c**", "firstName": "J***", "lastName": "D**", "phone": "1**********" }, "email": "j***@m***.c**", "firstName": "J***", "lastName": "D**", "document": "1**********", "cellPhone": "1**********", "isPJ": false, "customerCode": "5397eefe-f237-41d4-976e-bdf772cc42e0" }, "meta": { "version": "af9117e9-4169-46ee-ab4b-d4b17b881488", "author": "d6d8269f-e7cc-4e4b-8b89-3b46a1407937", "creationDate": "2023-10-25T13:59:52.7633627+00:00", "lastUpdateDate": "2023-10-25T14:02:45.7277154+00:00", "expirationDate": null } } } } } }, "deprecated": false }, "patch": { "tags": [ "Prospects" ], "summary": "Update prospect", "description": "Updates one or more fields of an existing prospect.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "UpdateProspect", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/prospectId" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Prospect" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnmaskedProspectResponse" }, "example": { "id": "c2cbebba-214e-40b2-b68f-98f862e755d5", "document": { "availableAddresses": [ { "disposable": true, "userId": "98478f6b-d025-4f35-a560-dd1ee7a6f26e", "addressName": "Home", "addressType": "residential", "postalCode": "32137", "city": "Palm Coast", "country": "USA", "street": "Fifth St.", "number": "9538", "complement": "Apartment 2B", "geoCoordinate": [ "string" ] } ], "paymentData": { "availableAccounts": [ { "accountId": "D09F5E3F01054C959CFC4CB357961ADE", "paymentSystem": "2", "paymentSystemName": "Visa", "cardNumber": "************1111", "bin": "44443334", "availableAddresses": [ "db267dcc53c14fb2b9a985532dd287bc" ], "expirationDate": "01/2032", "isExpired": false, "accountStatus": null } ], "availableTokens": [ "12345" ], "transactions": [ { "isActive": true, "transactionId": "418213DE29634837A63DD693A937A696", "merchantName": "luxstore", "payments": [ { "id": "D3DEECAB3C6C4B9EAF8EF4C1FE062FF3", "paymentSystem": "6", "paymentSystemName": "Boleto Bancário", "value": 4450, "installments": 1, "referenceValue": 4450, "cardHolder": null, "cardNumber": null, "firstDigits": null, "lastDigits": null, "cvv2": null, "expireMonth": null, "expireYear": null, "url": "https://luxstore.vtexpayments.com.br:443/BankIssuedInvoice/Transaction/418213DE29634837A63DD693A937A696/Payment/D3DEECAB3C6C4B9EAF8EF4C1FE062FF3/Installment/{Installment}", "giftCardId": null, "giftCardName": null, "giftCardCaption": null, "redemptionCode": null, "group": "bankInvoice", "tid": null, "dueDate": "2019-02-02", "connectorResponses": {} } ] } ], "giftCards": [ "12345" ], "giftCardMessages": [ "Message." ], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "contacts": [ { "contactId": "0", "email": "jane@mail.com", "firstName": "Jane", "lastName": "Doe", "phone": "12345678910", "document": "12345678910" } ], "invoiceSubject": { "invoiceSubjectId": "0", "email": "jane@mail.com", "firstName": "Jane", "lastName": "Doe", "phone": "12345678910" }, "email": "jane@mail.com", "firstName": "Jane", "lastName": "Doe", "document": "5397eefef23741d4976ebdf772cc42e0", "cellPhone": "12345678910", "isPJ": false, "customerCode": "5397eefe-f237-41d4-976e-bdf772cc42e0" }, "meta": { "version": "27112371-a71b-45d6-b3bc-93436a3a0b4f", "author": "82a2b53d-39be-4f49-bb7c-8971b58cb7dc", "creationDate": "2022-01-05T15:41:37.5009471+00:00", "lastUpdateDate": "2022-01-05T15:41:37.5009471+00:00", "expirationDate": "2022-01-05T15:41:37.5009471+00:00" } } } } } }, "deprecated": false }, "delete": { "tags": [ "Prospects" ], "summary": "Delete prospect", "description": "Deletes a prospect by `prospectId`.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "DeleteProspect", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/prospectId" } ], "responses": { "204": { "description": "No content" } }, "deprecated": false } }, "/api/storage/profile-system/prospects/{prospectId}/unmask": { "get": { "tags": [ "Prospects" ], "summary": "Get unmasked prospect", "description": "Retrieves unmasked information of a specific prospect, by its `prospectId`.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetUnmaskedProspect", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/prospectId" }, { "$ref": "#/components/parameters/reason" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnmaskedProspectResponse" }, "example": { "id": "98478f6b-d025-4f35-a560-dd1ee7a6f26e", "document": { "availableAddresses": [ { "disposable": true, "userId": "98478f6b-d025-4f35-a560-dd1ee7a6f26e", "addressName": "customerAddressId", "addressType": "residential", "postalCode": "32137", "city": "Palm Coast", "country": "USA", "street": "Fifth St.", "number": "9538", "complement": "", "receiverName": "Jane Doe", "geoCoordinate": [] } ], "paymentData": { "availableAccounts": [], "availableTokens": [], "transactions": null, "giftCards": [], "giftCardMessages": [], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "contacts": [ { "contactId": "0", "email": "", "firstName": "Jane", "lastName": "Doe", "phone": "", "document": "", "documentType": "" } ], "invoiceSubject": { "invoiceSubjectId": "0", "email": "jane@mail.com", "firstName": "Jane", "lastName": "Doe", "phone": "12345678910" }, "email": "jane@mail.com", "firstName": "Jane", "lastName": "Doe", "document": "5397eefef23741d4976ebdf772cc42e0", "cellPhone": "12345678910", "isPJ": false, "customerCode": "5397eefe-f237-41d4-976e-bdf772cc42e0" }, "meta": { "version": "af9117e9-4169-46ee-ab4b-d4b17b881488", "author": "d6d8269f-e7cc-4e4b-8b89-3b46a1407937", "creationDate": "2023-10-25T13:59:52.7633627+00:00", "lastUpdateDate": "2023-10-25T14:02:45.7277154+00:00", "expirationDate": null } } } } } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}/purchase-info": { "post": { "tags": [ "Purchase information" ], "summary": "Create purchase information", "description": "Creates purchase information for a given client profile.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "CreatePurchaseInformation", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/alternativeKey" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurchaseInfo" }, "example": { "paymentData": { "availableAccounts": [ { "accountId": "D09F5E3F01054C959CFC4CB357961ADE", "paymentSystem": "2", "paymentSystemName": "Visa", "cardNumber": "************1111", "bin": "44443334", "availableAddresses": [ "db267dcc53c14fb2b9a985532dd287bc" ], "expirationDate": "01/2032", "isExpired": false, "accountStatus": null } ], "availableTokens": [], "transactions": null, "giftCards": [], "giftCardMessages": [], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "clientPreferences": { "userId": "d9b946b8-9524-4b2d-96ec-b35d0625c0a7", "localeDefault": "pt-BR", "isNewsletterOptIn": true }, "isToSavePersonalData": true, "lastUserPurchases": [ { "creationDate": "2023-10-23T19:22:12.8989883Z", "orderId": "1370990595750-01", "orderGroup": "1370990595750", "value": 3498 } ], "lastPurchasesAddressId": "db267dcc53c14fb2b9a985532dd287bc" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MaskedPurchaseInfoResponse" }, "example": { "id": "d9b946b8-9524-4b2d-96ec-b35d0625c0a7", "document": { "paymentData": { "availableAccounts": [ { "accountId": "D09F5E3F01054C959CFC4CB357961ADE", "paymentSystem": "2", "paymentSystemName": "Visa", "cardNumber": "************1111", "bin": "44443334", "availableAddresses": [ "db267dcc53c14fb2b9a985532dd287bc" ], "expirationDate": "01/2032", "isExpired": false, "accountStatus": null } ], "availableTokens": [], "transactions": null, "giftCards": [], "giftCardMessages": [], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "clientPreferences": { "userId": "d9b946b8-9524-4b2d-96ec-b35d0625c0a7", "localeDefault": "pt-BR", "isNewsletterOptIn": true }, "isToSavePersonalData": true, "lastUserPurchases": [ { "creationDate": "2023-10-23T19:22:12.8989883Z", "orderId": "1370990595750-01", "orderGroup": "1370990595750", "value": 3498 } ], "lastPurchasesAddressId": "db267dcc53c14fb2b9a985532dd287bc" }, "meta": { "version": "6f693feb-7354-4a44-af96-3693ed282a2e", "author": "7b95bb3d-b567-48b2-b6fa-48b0b6c7f112", "creationDate": "2023-10-23T19:22:23.6716469+00:00", "lastUpdateDate": "2023-10-24T16:18:25.7338837+00:00", "expirationDate": null } } } } } }, "deprecated": false }, "get": { "tags": [ "Purchase information" ], "summary": "Get purchase information", "description": "Retrieves purchase information of a given client, by its `profileId`.\n\r\n\r> For security and privacy reasons, this request returns masked data. For unmasked information, see [Get unmasked purchase information](https:\/\/developers.vtex.com\/docs\/api-reference\/profile-system#get-\/api\/storage\/profile-system\/profiles\/-profileId-\/purchase-info\/unmask).\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetPurchaseInformation", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/alternativeKey" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MaskedPurchaseInfoResponse" } }, "example": [ { "id": "d9b946b8-9524-4b2d-96ec-b35d0625c0a7", "document": { "paymentData": { "availableAccounts": [ { "accountId": "D09F5E3F01054C959CFC4CB357961ADE", "paymentSystem": "2", "paymentSystemName": "Visa", "cardNumber": "************1111", "bin": "44443333", "availableAddresses": [ "db267dcc53c14fb2b9a985532dd287bc" ], "expirationDate": "01/2032", "isExpired": false, "accountStatus": null } ], "availableTokens": [], "transactions": null, "giftCards": [], "giftCardMessages": [], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "clientPreferences": { "userId": "d9b946b8-9524-4b2d-96ec-b35d0625c0a7", "localeDefault": "pt-BR", "isNewsletterOptIn": true }, "isToSavePersonalData": true, "lastUserPurchases": [ { "creationDate": "2023-10-23T19:22:12.8989883Z", "orderId": "1370990595750-01", "orderGroup": "1370990595750", "value": 3498 } ], "lastPurchasesAddressId": "db267dcc53c14fb2b9a985532dd287bc" }, "meta": { "version": "3117771f-8ea6-4297-a487-07e9b5497bc5", "author": "6fd337ba-1e6c-4d3e-aceb-1d8993432193", "creationDate": "2023-10-23T19:22:23.6716469+00:00", "lastUpdateDate": "2023-10-23T19:22:25.5466348+00:00", "expirationDate": null } } ] } } } }, "deprecated": false }, "patch": { "tags": [ "Purchase information" ], "summary": "Update purchase information", "description": "Updates one or more fields of existing purchase information for a given client profile.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "UpdatePurchaseInformation", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/alternativeKey" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurchaseInfo" }, "example": { "paymentData": { "availableAccounts": [ { "accountId": "D09F5E3F01054C959CFC4CB357961ADE", "paymentSystem": "2", "paymentSystemName": "Visa", "cardNumber": "************1111", "bin": "44443334", "availableAddresses": [ "db267dcc53c14fb2b9a985532dd287bc" ], "expirationDate": "01/2032", "isExpired": false, "accountStatus": null } ], "availableTokens": [], "transactions": null, "giftCards": [], "giftCardMessages": [], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "clientPreferences": { "userId": "d9b946b8-9524-4b2d-96ec-b35d0625c0a7", "localeDefault": "pt-BR", "isNewsletterOptIn": true }, "isToSavePersonalData": true, "lastUserPurchases": [ { "creationDate": "2023-10-23T19:22:12.8989883Z", "orderId": "1370990595750-01", "orderGroup": "1370990595750", "value": 3498 } ], "lastPurchasesAddressId": "db267dcc53c14fb2b9a985532dd287bc" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MaskedPurchaseInfoResponse" }, "example": { "id": "d9b946b8-9524-4b2d-96ec-b35d0625c0a7", "document": { "paymentData": { "availableAccounts": [ { "accountId": "D09F5E3F01054C959CFC4CB357961ADE", "paymentSystem": "2", "paymentSystemName": "Visa", "cardNumber": "************1111", "bin": "44443334", "availableAddresses": [ "db267dcc53c14fb2b9a985532dd287bc" ], "expirationDate": "01/2032", "isExpired": false, "accountStatus": null } ], "availableTokens": [], "transactions": null, "giftCards": [], "giftCardMessages": [], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "clientPreferences": { "userId": "d9b946b8-9524-4b2d-96ec-b35d0625c0a7", "localeDefault": "pt-BR", "isNewsletterOptIn": true }, "isToSavePersonalData": true, "lastUserPurchases": [ { "creationDate": "2023-10-23T19:22:12.8989883Z", "orderId": "1370990595750-01", "orderGroup": "1370990595750", "value": 3498 } ], "lastPurchasesAddressId": "db267dcc53c14fb2b9a985532dd287bc" }, "meta": { "version": "6f693feb-7354-4a44-af96-3693ed282a2e", "author": "7b95bb3d-b567-48b2-b6fa-48b0b6c7f112", "creationDate": "2023-10-23T19:22:23.6716469+00:00", "lastUpdateDate": "2023-10-24T16:18:25.7338837+00:00", "expirationDate": null } } } } } }, "deprecated": false }, "delete": { "tags": [ "Purchase information" ], "summary": "Delete purchase information", "description": "Deletes purchase informaiton by `profileId`.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "DeletePurchaseInformation", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/alternativeKey" } ], "responses": { "204": { "description": "No content" } }, "deprecated": false } }, "/api/storage/profile-system/profiles/{profileId}/purchase-info/unmask": { "get": { "tags": [ "Purchase information" ], "summary": "Get unmasked purchase information", "description": "Retrieves unmasked purchase information of a given client, by its `profileId`.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetUnmaskedPurchaseInformation", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "$ref": "#/components/parameters/profileId" }, { "$ref": "#/components/parameters/reason" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "description": "List of purchase information.", "items": { "$ref": "#/components/schemas/MaskedPurchaseInfoResponse" } }, "example": [ { "id": "d9b946b8-9524-4b2d-96ec-b35d0625c0a7", "document": { "paymentData": { "availableAccounts": [ { "accountId": "D09F5E3F01054C959CFC4CB357961ADE", "paymentSystem": "2", "paymentSystemName": "Visa", "cardNumber": "************1111", "bin": "44443333", "availableAddresses": [ "db267dcc53c14fb2b9a985532dd287bc" ], "expirationDate": "01/2032", "isExpired": false, "accountStatus": null } ], "availableTokens": [], "transactions": null, "giftCards": [], "giftCardMessages": [], "numberOfPaymentErrors": 0, "numberOfDeniedTransactions": 0, "lastDeniedTransaction": null }, "clientPreferences": { "userId": "d9b946b8-9524-4b2d-96ec-b35d0625c0a7", "localeDefault": "pt-BR", "isNewsletterOptIn": true }, "isToSavePersonalData": true, "lastUserPurchases": [ { "creationDate": "2023-10-23T19:22:12.8989883Z", "orderId": "1370990595750-01", "orderGroup": "1370990595750", "value": 3498 } ], "lastPurchasesAddressId": "db267dcc53c14fb2b9a985532dd287bc" }, "meta": { "version": "cea5fcd2-7444-492d-9d63-1c05713e6776", "author": "7b95bb3d-b567-48b2-b6fa-48b0b6c7f112", "creationDate": "2023-10-24T16:22:55.0252384+00:00", "lastUpdateDate": "2023-10-24T16:22:55.0252384+00:00", "expirationDate": null } } ] } } } }, "deprecated": false } }, "/api/storage/profile-system/schemas/profileSystem": { "get": { "tags": [ "Schemas" ], "summary": "Get full schema", "description": "Retrieves the full profile schema, including custom fields.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/schema" }, "example": { "title": "Profile System Profile Schema", "description": "Schema used for integration testing with Checkout", "type": "object", "properties": { "firstName": { "type": [ "string", "null" ], "sensitive": true, "pii": true }, "lastName": { "type": [ "string", "null" ], "sensitive": true, "pii": true }, "email": { "type": "string", "sensitive": true, "pii": true }, "corporateName": { "type": [ "string", "null" ], "sensitive": false, "pii": false }, "fancyName": { "type": [ "string", "null" ], "sensitive": false, "pii": false }, "document": { "type": [ "string", "null" ], "sensitive": true, "pii": true }, "businessDocument": { "type": [ "string", "null" ], "sensitive": false, "pii": false }, "documentType": { "type": [ "string", "null" ], "sensitive": false, "pii": false }, "homePhone": { "type": [ "string", "null" ], "sensitive": true, "pii": true }, "cellPhone": { "type": [ "string", "null" ], "sensitive": true, "pii": true }, "businessPhone": { "type": [ "string", "null" ], "sensitive": false, "pii": false }, "gender": { "type": [ "string", "null" ], "sensitive": true, "pii": false }, "birthdate": { "type": [ "string", "null" ], "sensitive": true, "pii": true }, "priceTable": { "type": "string", "sensitive": false, "pii": false }, "tags": { "type": [ "array", "null" ], "items": { "type": "string", "maxLength": 50 }, "sensitive": false, "pii": false }, "customerCode": { "type": [ "string", "null" ], "sensitive": true, "pii": true } }, "required": [ "email" ], "additionalProperties": true, "v-indexed": [ "email", "document" ], "v-unique": [ "email" ] } } } } }, "deprecated": false } }, "/api/storage/profile-system/schemas/profileSystem/custom": { "put": { "tags": [ "Schemas" ], "summary": "Create or delete custom fields", "description": "Creates or deletes custom fields in the profile schema. To create custom fields, include a request body. To delete all custom fields, pass an empty JSON. \n\r\n\r> Each account has one profile schema. Updating it with this request will substitute the previous version.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "CreateOrUpdateProfileSchema", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "requestBody": { "content": { "application/json": { "schema": { "additionalProperties": { "type": "object", "description": "Object with information about the custom property.", "required": [ "type", "sensitive", "pii" ], "properties": { "type": { "type": "array", "description": "Array with information about the type of the custom property.", "items": { "type": "string", "description": "Information about the type of field (e.g. `string`) or if it is nullable (`null`).", "example": "string" } }, "sensitive": { "type": "boolean", "description": "Indicates whether the property is sensitive data. Set to `true` if `pii` is `true` and set to `false` if `pii` is `false`.", "example": true }, "pii": { "type": "boolean", "description": "Indicates whether the property is Personal Identifiable Information (PII).", "example": true } } } }, "example": { "customField1": { "type": [ "string", "null" ], "sensitive": true, "pii": true }, "customField2": { "type": [ "string", "null" ], "sensitive": false, "pii": false } } } } }, "responses": { "201": { "description": "Created" } }, "deprecated": false }, "get": { "tags": [ "Schemas" ], "summary": "Get custom fields", "description": "Retrieves all custom fields in the profile schema.\n\r\n\rLearn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.\r\n\r\n>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.\r\n>\r\n> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/). \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Profile System | Documents | **Get Item** |\r\n| Profile System | Documents | **Save and Update Item** |\r\n| Profile System | Documents | **Delete Item** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/schema" }, "example": { "title": "Client profile schema.", "type": "object", "description": "This schema describes a b2c customer profile.", "required": [ "firstName", "lastName", "email", "document", "documentType" ], "properties": { "additionalProperties": { "type": "string", "sensitive": true, "pii": true, "items": { "type": "string" } } }, "documentTTL": 1825, "version": 1, "v-indexed": [ "email", "document" ], "v-unique": [ "email", "document" ] } } } } }, "deprecated": false } } }, "components": { "schemas": { "Profile": { "title": "Profile", "type": "object", "description": "Profile schema.", "required": [ "firstName", "lastName", "email", "document", "documentType" ], "properties": { "firstName": { "type": "string", "description": "Client's first name.", "example": "John" }, "lastName": { "type": "string", "description": "Client's last name.", "example": "Doe" }, "email": { "type": "string", "description": "Client's email address.", "example": "john.doe@example.com" }, "birthDate": { "type": "string", "description": "Client's birth date in ISO 8601 format.", "example": "1925-11-17" }, "document": { "type": "string", "description": "Client's document.", "example": "12345678900" }, "documentType": { "type": "string", "description": "Type of document informed in `document`.", "example": "CPF" }, "{customField}": { "type": "string", "description": "Name of custom field defined in [Create or delete custom fields](https://developers.vtex.com/docs/api-reference/profile-system#put-/api/storage/profile-system/schemas/profileSystem/custom). Can be of any type: string, number, boolean, array or object.", "example": "{value}" } } }, "ProfileMeta": { "title": "Profile metadata", "type": "object", "description": "Profile metadata.", "required": [ "version", "author", "creationDate", "lastUpdate" ], "properties": { "version": { "type": "string", "description": "Unique identifier of the profile version." }, "author": { "type": "string", "description": "Unique identifier of the user who created the profile." }, "creationDate": { "type": "string", "description": "Date when the profile was created in ISO 8601 format." }, "lastUpdate": { "type": "string", "description": "Date when the profile was last updated in ISO 8601 format." } } }, "ProfileId": { "title": "id", "type": "string", "description": "ID of the client's profile." }, "MaskedProfileResponse": { "title": "Masked profile response", "type": "array", "description": "Array containing masked profile information.", "items": { "type": "object", "description": "Masked profile information.", "properties": { "id": { "$ref": "#/components/schemas/ProfileId" }, "meta": { "$ref": "#/components/schemas/ProfileMeta" }, "document": { "$ref": "#/components/schemas/Profile" } } } }, "MaskedProfileResponseByVersion": { "title": "Masked profile response", "type": "array", "description": "Array containing masked profile information.", "items": { "type": "object", "description": "Masked profile information.", "properties": { "id": { "$ref": "#/components/schemas/ProfileId" }, "document": { "$ref": "#/components/schemas/Profile" }, "meta": { "$ref": "#/components/schemas/ProfileMeta" } } } }, "UnmaskedProfileResponse": { "title": "Unmasked profile response", "type": "object", "description": "Unmasked profile response.", "properties": { "id": { "$ref": "#/components/schemas/ProfileId" }, "document": { "$ref": "#/components/schemas/Profile" }, "meta": { "$ref": "#/components/schemas/ProfileMeta" } } }, "CreateAddress": { "title": "Address request body", "type": "object", "description": "Address request body.", "required": [ "postalCode", "countryName", "administrativeAreaLevel1", "locality", "localityAreaLevel1", "route", "streetNumber" ], "properties": { "postalCode": { "type": "string", "description": "Address postal code.", "example": "20200-000" }, "countryName": { "type": "string", "description": "Name of the address country.", "example": "Brasil" }, "countryCode": { "type": "string", "description": "Two letter country code.", "example": "BR" }, "administrativeAreaLevel1": { "type": "string", "description": "Name of administrative area, such as the state or province.", "example": "RJ" }, "locality": { "type": "string", "description": "Name of address locality, such as the city.", "example": "Locality" }, "localityAreaLevel1": { "type": "string", "description": "Name of the address locality area, such as the neighborhood or district.", "example": "Locality area" }, "route": { "type": "string", "description": "Address route or street name.", "example": "51" }, "streetNumber": { "type": "string", "description": "Address street number.", "example": "999" }, "contactId": { "type": "string", "description": "Contact unique identifier.", "example": "1" } }, "example": { "postalCode": "20200-000", "countryName": "Brasil", "countryCode": "BR", "administrativeAreaLevel1": "RJ", "locality": "Locality", "localityAreaLevel1": "locality area", "route": "51", "streetNumber": "999", "contactId": "1" } }, "Address": { "title": "Address", "type": "object", "description": "Address information.", "required": [ "postalCode", "countryName", "administrativeAreaLevel1", "locality", "localityAreaLevel1", "route", "streetNumber", "profileId" ], "properties": { "postalCode": { "type": "string", "description": "Address postal code." }, "countryName": { "type": "string", "description": "Name of the address country." }, "countryCode": { "type": "string", "description": "Two letter country code." }, "administrativeAreaLevel1": { "type": "string", "description": "Name of administrative area, such as the state or province." }, "locality": { "type": "string", "description": "Name of address locality, such as the city." }, "localityAreaLevel1": { "type": "string", "description": "Name of the address locality area, such as the neighborhood or district." }, "route": { "type": "string", "description": "Address route or street name." }, "streetNumber": { "type": "string", "description": "Address street number." }, "profileId": { "$ref": "#/components/schemas/ProfileId" }, "contactId": { "type": "string", "description": "Contact unique identifier." } }, "example": { "postalCode": "20200-000", "countryName": "Brasil", "countryCode": "BR", "administrativeAreaLevel1": "RJ", "locality": "Locality", "localityAreaLevel1": "locality area", "route": "51", "streetNumber": "999", "profileId": "70caf394-8534-447e-a0ca-1803c669c771", "contactId": "1" } }, "AddressId": { "title": "id", "type": "string", "description": "ID of a client's address." }, "AddressMeta": { "title": "Address metadata", "type": "object", "description": "Address metadata.", "required": [ "version", "author", "creationDate", "lastUpdateDate" ], "properties": { "version": { "type": "string", "description": "Unique identifier of the address version." }, "author": { "type": "string", "description": "Unique identifier of the user who created the address." }, "creationDate": { "type": "string", "description": "Date when the address was created in ISO 8601 format." }, "lastUpdateDate": { "type": "string", "description": "Date when the address was last updated in ISO 8601 format." } } }, "UnmaskedAddressResponse": { "title": "Unmasked address response", "type": "object", "description": "Unmasked address information.", "properties": { "id": { "$ref": "#/components/schemas/AddressId" }, "document": { "$ref": "#/components/schemas/Address" }, "meta": { "$ref": "#/components/schemas/AddressMeta" } } }, "MaskedAddressResponse": { "title": "Masked address response", "type": "object", "description": "Masked address information.", "properties": { "id": { "$ref": "#/components/schemas/AddressId" }, "document": { "$ref": "#/components/schemas/Address" }, "meta": { "$ref": "#/components/schemas/AddressMeta" } } }, "MaskedPurchaseInfoResponse": { "title": "Masked purchase information response.", "type": "object", "description": "Masked purchase information.", "properties": { "id": { "$ref": "#/components/schemas/PurchaseInfoId" }, "document": { "$ref": "#/components/schemas/PurchaseInfo" }, "meta": { "$ref": "#/components/schemas/PurchaseInfoMeta" } } }, "PurchaseInfoId": { "title": "id", "type": "string", "description": "ID of purchase information." }, "PurchaseInfo": { "title": "Purchase information.", "type": "object", "description": "Purchase information object.", "properties": { "paymentData": { "$ref": "#/components/schemas/PaymentData" }, "clientPreferences": { "type": "object", "description": "Client preferences.", "properties": {} }, "isToSavePersonalData": { "type": "boolean", "description": "Defines if personal data will be saved (`true`) or not (`false`)." }, "lastUserPurchases": { "type": "array", "description": "Array with latest purchases from the client.", "items": { "type": "object", "description": "Purchase information.", "properties": { "creationDate": { "type": "string", "description": "Purchase date in the ISO 8601 format." }, "orderId": { "type": "string", "description": "Unique identifier of the order." }, "orderGroup": { "type": "string", "description": "Unique identifier of the order group." }, "value": { "type": "number", "description": "Purchase value." } } } }, "lastPurchasesAddressId": { "type": "string", "description": "Unique identifier of the client address." } } }, "PurchaseInfoMeta": { "title": "Purchase information metadata.", "type": "object", "description": "Purchase information metadata.", "required": [ "version", "author", "creationDate", "lastUpdateDate" ], "properties": { "version": { "type": "string", "description": "Unique identifier of the purchase information version." }, "author": { "type": "string", "description": "Unique identifier of the user who created the purchase information." }, "creationDate": { "type": "string", "description": "Date when the purchase information was created in ISO 8601 format." }, "lastUpdateDate": { "type": "string", "description": "Date when the purchase information was last updated in ISO 8601 format." }, "expirationDate": { "type": "string", "description": "Date when the purchase information expires in ISO 8601 format.", "nullable": true } } }, "PaymentData": { "title": "paymentData", "type": "object", "description": "Payment data.", "properties": { "availableAccounts": { "type": "array", "description": "List of available payment accounts.", "items": { "type": "object", "description": "Information about an available payment account.", "properties": { "accountId": { "type": "string", "description": "Payment account ID.", "example": "D09F5E3F01054C959CFC4CB357961ADE" }, "paymentSystem": { "type": "string", "description": "Payment system code.", "example": "2" }, "paymentSystemName": { "type": "string", "description": "Payment system name.", "example": "Visa" }, "cardNumber": { "type": "string", "description": "Masked card number.", "example": "************1111" }, "bin": { "type": "string", "description": "Card bin.", "example": "44443334" }, "availableAddresses": { "type": "array", "description": "List of available addresses.", "items": { "type": "string", "description": "Available address ID.", "example": "db267dcc53c14fb2b9a985532dd287bc" } }, "expirationDate": { "type": "string", "description": "Card expiration date, in `MM/YYYY` format.", "example": "01/2032" }, "isExpired": { "type": "boolean", "description": "Defines if the card is expired (`true`) or not (`false`).", "example": false }, "accountStatus": { "type": "string", "description": "Account status.", "nullable": true, "example": null } } } }, "availableTokens": { "type": "array", "description": "Available tokens.", "items": { "type": "string", "description": "Available token.", "example": "12345" } }, "transactions": { "type": "array", "description": "List of transactions.", "nullable": true, "items": { "type": "object", "description": "Transaction information.", "required": [ "isActive", "transactionId", "merchantName", "payments" ], "properties": { "isActive": { "type": "boolean", "description": "Indicates whether the transaction is active (`true`) or not (`false`).", "example": true }, "transactionId": { "type": "string", "description": "Transaction ID.", "example": "418213DE29634837A63DD693A937A696" }, "merchantName": { "type": "string", "description": "Merchant name.", "example": "luxstore" }, "payments": { "type": "array", "description": "List of payments information.", "items": { "$ref": "#/components/schemas/Payment" } } } } }, "giftCards": { "type": "array", "description": "Gift card IDs.", "items": { "type": "string", "description": "Gift card ID.", "example": "12345" } }, "giftCardMessages": { "type": "array", "description": "Gift card messages.", "items": { "type": "string", "description": "Gift card message.", "example": "Message." } }, "numberOfPaymentErrors": { "type": "number", "description": "Amount of payment errors.", "example": 0 }, "numberOfDeniedTransactions": { "type": "number", "description": "Amount of denied transactions.", "example": 0 }, "lastDeniedTransaction": { "type": "string", "description": "Last denied transaction.", "nullable": true, "example": null } } }, "Payment": { "title": "Payment", "required": [ "id", "paymentSystem", "paymentSystemName", "value", "installments", "referenceValue", "cardHolder", "cardNumber", "firstDigits", "lastDigits", "cvv2", "expireMonth", "expireYear", "url", "giftCardId", "giftCardName", "giftCardCaption", "redemptionCode", "group", "tid", "dueDate", "connectorResponses" ], "type": "object", "description": "Payment information.", "properties": { "id": { "type": "string", "description": "Payment ID." }, "paymentSystem": { "type": "string", "description": "Payment system." }, "paymentSystemName": { "type": "string", "description": "Payment system name." }, "value": { "type": "integer", "format": "int32", "description": "Payment value in cents." }, "installments": { "type": "integer", "format": "int32", "description": "Payment installments." }, "referenceValue": { "type": "integer", "format": "int32", "description": "Reference value for interest calculation in cents." }, "cardHolder": { "type": "string", "nullable": true, "description": "Card holder." }, "cardNumber": { "type": "string", "nullable": true, "description": "Card number." }, "firstDigits": { "type": "string", "nullable": true, "description": "Card first digits." }, "lastDigits": { "type": "string", "nullable": true, "description": "Card last digits." }, "cvv2": { "type": "string", "nullable": true, "description": "Card verification code." }, "expireMonth": { "type": "string", "nullable": true, "description": "Card expiration month." }, "expireYear": { "type": "string", "nullable": true, "description": "Card expiration year." }, "url": { "type": "string", "description": "Payment URL." }, "giftCardId": { "type": "string", "nullable": true, "description": "Gift card ID." }, "giftCardName": { "type": "string", "nullable": true, "description": "Gift card name." }, "giftCardCaption": { "type": "string", "nullable": true, "description": "Gift card caption." }, "redemptionCode": { "type": "string", "nullable": true, "description": "Redemption code." }, "group": { "type": "string", "description": "Payment group." }, "tid": { "type": "string", "nullable": true, "description": "Payment TID." }, "dueDate": { "type": "string", "description": "Due date." }, "connectorResponses": { "type": "object", "description": "Connector responses." } }, "example": { "id": "D3DEECAB3C6C4B9EAF8EF4C1FE062FF3", "paymentSystem": "6", "paymentSystemName": "Boleto Bancário", "value": 4450, "installments": 1, "referenceValue": 4450, "cardHolder": null, "cardNumber": null, "firstDigits": null, "lastDigits": null, "cvv2": null, "expireMonth": null, "expireYear": null, "url": "https://luxstore.vtexpayments.com.br:443/BankIssuedInvoice/Transaction/418213DE29634837A63DD693A937A696/Payment/D3DEECAB3C6C4B9EAF8EF4C1FE062FF3/Installment/{Installment}", "giftCardId": null, "giftCardName": null, "giftCardCaption": null, "redemptionCode": null, "group": "bankInvoice", "tid": null, "dueDate": "2019-02-02", "connectorResponses": {} } }, "Prospect": { "title": "Prospect information.", "type": "object", "description": "Prospect information.", "properties": { "availableAddresses": { "type": "array", "description": "Available addresses.", "items": { "type": "object", "description": "Available address information.", "properties": { "disposable": { "type": "boolean", "description": "Defines whether the address is deleted after use (`true`) or not (`false`).", "example": true }, "userId": { "type": "string", "description": "User unique identifier.", "example": "98478f6b-d025-4f35-a560-dd1ee7a6f26e" }, "addressName": { "type": "string", "description": "Address name.", "example": "Home" }, "addressType": { "type": "string", "description": "Address type.", "example": "residential" }, "postalCode": { "type": "string", "description": "Postal code.", "example": "32137" }, "city": { "type": "string", "description": "City.", "example": "Palm Coast" }, "country": { "type": "string", "description": "Country code.", "example": "USA" }, "street": { "type": "string", "description": "Street name.", "example": "Fifth St." }, "number": { "type": "string", "description": "Street number.", "example": "9538" }, "complement": { "type": "string", "description": "Complement information.", "example": "Apartment 2B" }, "geoCoordinate": { "type": "array", "description": "Array with two strings that represent geocoordinates: first latitude, then longitude.", "items": { "type": "string", "description": "Geocoordinate.", "example": "49.334934" } } } } }, "paymentData": { "$ref": "#/components/schemas/PaymentData" }, "contacts": { "type": "array", "description": "List of contacts.", "items": { "type": "object", "description": "Contact information.", "properties": { "contactId": { "type": "string", "description": "Contact's unique identifier.", "example": "0" }, "email": { "type": "string", "description": "Contact's email address.", "example": "jane@mail.com" }, "firstName": { "type": "string", "description": "Contact's first name.", "example": "Jane" }, "lastName": { "type": "string", "description": "Contact's last name.", "example": "Doe" }, "phone": { "type": "string", "description": "Contact's phone number.", "example": "12345678910" }, "document": { "type": "string", "description": "Contact's document.", "example": "12345678910" } } } }, "invoiceSubject": { "type": "object", "description": "Information about the invoice subject.", "properties": { "invoiceSubjectId": { "type": "string", "description": "Invoice subject ID.", "example": "0" }, "email": { "type": "string", "description": "Invoice subject's email address.", "example": "jane@mail.com" }, "firstName": { "type": "string", "description": "Invoice subject's first name.", "example": "Jane" }, "lastName": { "type": "string", "description": "Invoice subject's last name.", "example": "Doe" }, "phone": { "type": "string", "description": "Invoice subject's phone number.", "example": "12345678910" } } }, "email": { "type": "string", "description": "Prospect's email address.", "example": "jane@mail.com" }, "firstName": { "type": "string", "description": "Prospect's first name.", "example": "Jane" }, "lastName": { "type": "string", "description": "Prospect's last name.", "example": "Doe" }, "document": { "type": "string", "description": "Prospect's document.", "example": "5397eefef23741d4976ebdf772cc42e0" }, "cellPhone": { "type": "string", "description": "Prospect's cellphone number.", "example": "12345678910" }, "isPJ": { "type": "boolean", "description": "Defines if a prospect is corporate (`true`) or not (`false`).", "example": false }, "customerCode": { "type": "string", "description": "Prospect's customer code.", "example": "5397eefe-f237-41d4-976e-bdf772cc42e0" } } }, "ProspectId": { "title": "id", "type": "string", "description": "ID of the prospect." }, "ProspectMeta": { "title": "Prospect information metadata.", "description": "Prospect information metadata.", "type": "object", "required": [ "version", "author", "creationDate", "lastUpdateDate" ], "properties": { "version": { "type": "string", "description": "Unique identifier of the prospect version." }, "author": { "type": "string", "description": "Unique identifier of the user who created the prospect." }, "creationDate": { "type": "string", "description": "Date when the prospect information was created in ISO 8601 format." }, "lastUpdateDate": { "type": "string", "description": "Date when the prospect information was last updated in ISO 8601 format." }, "expirationDate": { "type": "string", "description": "Date when the prospect information expires in ISO 8601 format.", "nullable": true } } }, "UnmaskedProspectResponse": { "title": "Unmasked prospect information.", "type": "object", "description": "Unmasked prospect information.", "properties": { "id": { "$ref": "#/components/schemas/ProspectId" }, "document": { "$ref": "#/components/schemas/Prospect" }, "meta": { "$ref": "#/components/schemas/ProspectMeta" } } }, "MaskedProspectResponse": { "title": "Masked prospect information.", "type": "object", "description": "Masked prospect information.", "properties": { "id": { "$ref": "#/components/schemas/ProspectId" }, "document": { "$ref": "#/components/schemas/Prospect" }, "meta": { "$ref": "#/components/schemas/ProspectMeta" } } }, "schema": { "title": "Schema", "type": "object", "description": "Schema information.", "required": [ "title", "type", "description", "required", "properties" ], "properties": { "title": { "type": "string", "description": "Schema title." }, "type": { "type": "string", "description": "Schema type." }, "description": { "type": "string", "description": "Schema's human readable description." }, "required": { "type": "array", "description": "Schema required fields.", "items": { "type": "string", "description": "Key of a field that is required in the schema." } }, "properties": { "type": "object", "description": "Object describing each field in your desired schema. In this object, each property is a new object, describing the field according to: `type` (string); `sensitive` (boolean); `pii` (boolean) and `items.type` (if field is array).", "properties": { "additionalProperties": { "type": "object", "description": "Schema of any given field described in the `properties` field.", "required": [ "type", "sensitive", "pii" ], "properties": { "type": { "type": "string", "description": "Schema property type." }, "sensitive": { "type": "boolean", "description": "Indicates whether the property is sensitive data. Set to `true` if `pii` is `true` and set to `false` if `pii` is `false`." }, "pii": { "type": "boolean", "description": "Indicates whether the property is Personal Identifiable Information (PII)." }, "items": { "type": "object", "description": "Object containing the type of the items if the field is an array. Typically, arrays will contain strings and will be used for fields such as `email`.", "properties": { "type": { "type": "string", "description": "Field type." } } } } } } }, "documentTTL": { "type": "integer", "description": "Document time to live, in days. After this many days from its creation or update, any document cerated from this schema will be deleted." }, "version": { "type": "integer", "description": "Schema version." }, "v-indexed": { "type": "array", "description": "List of fields to be indexed.", "items": { "type": "string", "description": "Field to be indexed." } }, "v-unique": { "type": "array", "description": "List of fields that must be unique.", "items": { "type": "string", "description": "Field that must be unique." } } } } }, "parameters": { "Content-Type": { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "example": "application/json" } }, "Accept": { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "example": "application/json" } }, "profileId": { "name": "profileId", "in": "path", "description": "There are two value options for this field: \n\n1. ID of the client's profile, as in the `id` field returned by the [Create profile](https://developers.vtex.com/docs/api-reference/profile-system#post-/api/storage/profile-system/profiles) endpoint.\n\r\n2. The value of an alternative key (`email` or `document`). When using this option, the `alternativeKey` query parameter is required, to inform which key is being used.", "required": true, "style": "simple", "schema": { "type": "string", "example": "70caf394-8534-447e-a0ca-1803c669c771" } }, "addressId": { "name": "addressId", "in": "path", "description": "ID of a client's specific address as returned in the [Create client address](https://developers.vtex.com/docs/api-reference/profile-system#post-/api/storage/profile-system/profiles/-profileId-/addresses) endpoint's response, in the `id` field.", "required": true, "style": "simple", "schema": { "type": "string", "example": "bf82180e-cf9e-4089-9af6-ae1518555992" } }, "prospectId": { "name": "prospectId", "in": "path", "description": "ID of the prospect as returned by the [Create prospect](https://developers.vtex.com/docs/api-reference/profile-system#post-/api/storage/profile-system/prospects) endpoint's response, in the `id` field.", "required": true, "style": "simple", "schema": { "type": "string", "example": "98478f6b-d025-4f35-a560-dd1ee7a6f26e" } }, "profileVersionId": { "name": "profileVersionId", "in": "path", "description": "ID of the version of the client's profile as returned by endpoints that create or update profile information in the `version` field.", "required": true, "style": "simple", "schema": { "type": "string", "example": "70caf394-8534-447e-a0ca-1803c669c771" } }, "addressVersionId": { "name": "addressVersionId", "in": "path", "description": "ID of the version of a given client's address as returned by endpoints that create or update address information in the `version` field.", "required": true, "style": "simple", "schema": { "type": "string", "example": "86dfae79-1d23-43f2-a643-2fc8f1839461" } }, "alternativeKey": { "name": "alternativeKey", "in": "query", "description": "When using an alternative key as `profileId` value, fill this parameter with the key you wish to use as `profileId`. There are two possible values: `email` and `document`.", "required": false, "style": "form", "schema": { "type": "string", "example": "email", "enum": [ "email", "document" ] } }, "ttl": { "name": "ttl", "in": "query", "description": "This parameter sets the the Time To Live (TTL), in days, of the specific document being created or updated with this request. After this period of time from the moment of the request, the document is deleted. By sending this parameter you override the TTL set for the schema.\n\r\n\r> Currently, the available default document schemas have no TTL. This means that documents are stored indefinitely, unless a TTL is sent when creating or updating.", "required": false, "style": "form", "schema": { "type": "integer", "example": 365 } }, "reason": { "name": "reason", "in": "query", "description": "Reason for requesting unmasked data.", "required": true, "style": "form", "schema": { "type": "string", "example": "data-validation" } }, "onBehalfOf": { "name": "onBehalfOf", "in": "query", "description": "Identification of the unmasked information requester.", "required": false, "style": "form", "schema": { "type": "string", "example": "johndoe@store.com" } } }, "securitySchemes": { "appKey": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppKey", "description": "Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." }, "appToken": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppToken", "description": "Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." }, "VtexIdclientAutCookie": { "type": "apiKey", "in": "header", "name": "VtexIdclientAutCookie", "description": "[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours." } } }, "tags": [ { "name": "Profiles" }, { "name": "Addresses" }, { "name": "Prospects" }, { "name": "Purchase information" }, { "name": "Schemas" } ], "security": [ { "appKey": [], "appToken": [] }, { "VtexIdclientAutCookie": [] } ] }